# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id$

PortSystem              1.0

name                    vw-devel
version                 20120415
revision                1

categories              graphics science
license                 Apache 2.0
platforms               darwin
maintainers             nasa.gov:z.m.moratto

description             NASA Vision Workbench (C++) Library

long_description        VW is a library that is aimed  at large scale \
                        image processing. It differs specifically from \
                        OpenCV in that it uses lazy operations which \
                        are only applied on actual write. VW is open \
                        source and multithreaded.

homepage                http://ti.arc.nasa.gov/tech/asr/intelligent-robotics/nasa-vision-workbench/

fetch.type              git
git.url                 git://github.com/visionworkbench/visionworkbench.git

depends_lib             port:gdal \
                        port:jpeg \
                        port:libpng \
                        port:libproj4 \
                        port:zlib \
                        port:ilmbase \
                        port:openexr \
                        port:boost \
                        port:protobuf-cpp \
                        port:flann \
                        port:automake \
                        port:libtool

universal_variant       no

configure.args-append   --enable-module-mosaic=yes \
                        --enable-module-camera=yes \
                        --enable-module-cartography=yes \
                        --enable-module-stereo=yes \
                        --enable-module-tools=no \
                        --with-jpeg=${prefix} \
                        --with-png=${prefix} \
                        --with-gdal=${prefix} \
                        --with-proj4=${prefix} \
                        --with-z=${prefix} \
                        --with-ilmbase=${prefix} \
                        --with-openexr=${prefix} \
                        --with-boost=${prefix} \
                        --with-protobuf=${prefix} \
                        --with-flann=${prefix} \
                        --without-tiff \
                        --without-hdr \
                        --without-cairomm \
                        --without-x11 \
                        --without-clapack \
                        --without-slapack \
                        --without-flapack \
                        --without-opencv \
                        --without-cg \
                        --without-qt-qmake \
                        --without-arbitrary-qt \
                        --without-qt \

if {${configure.compiler} == "clang"} {
    configure.compiler llvm-gcc-4.2
}

pre-configure {
    system "cd ${worksrcpath} && ./autogen"
}

variant debug description {Provide debug symbols} {
    configure.args-append --enable-debug=yes
}

variant tools description {Build example executables} {
    configure.args-append --enable-module-tools=yes
    # Building the executables causes GCC-4.2 to use a lot of
    # memory. It's best to only use one thread otherwise you'll take
    # the user's system down.
    build.jobs 1
}

variant plate description {Build plate module} {
    depends_lib-append    port:zmq
    configure.args-append --enable-module-plate=yes \
                           --with-zeromq=${prefix}
}